package Gather.CollectionLearn.Collection集合;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionTest {
    /*
    public boolean add(E e)     把给定的对象添加到当前集合中
    public void clear()         清空集合中所有的元素
    public boolean remove(E e)           把给定的对象在当前集合中删除
    public boolean contains(Object obj)  判断当前集合中是否包含给定的对象
    public boolean isEmpty()    判断当前集合是否为空
    public int size()           返回集合中元素的个数/集合的长度
     */
    public static void main(String[] args) {
        Collection<String> coll=new ArrayList<>();

        //1.添加元素:
        /*
        细节一:我们要为List系列中的集合添加元素的时候，那么方法永远返回true,因为list允许重复
        细节二:我们为Set系列中的集合添加元素的时候：
            如果添加的元素不存在，则返回true。
            如果添加的元素存在，那么返回false,因为Set不允许重复。
         */
        System.out.println("------添加------");
        coll.add("adsa");
        coll.add("adsaad");
        coll.add("ads");
        System.out.println(coll);

        //2.清空集合内的所有元素
//        System.out.println("------清空------");
//        coll.clear();
//        System.out.println(coll);

        //删除
        /*
        注意点:
        1.因为Collection里面定义的是共性的方法
        所以此时不能通过索引继续删除，只能通过元素的对象继续删除
        2.方法会有一个布尔类型的返回值，删除成功返回true,失败返回false;

         */
        System.out.println("------删除------");
        //System.out.println(coll.remove("ads"));
        System.out.println(coll);

        //4.判断是否包含元素
         /*
        注意点:底层是依赖equsls方法进行判断
        所以，如果集合中的元素是自定义的，并且要判断自定义的对象是否存在，那么就需要重写equsls方法
        重写equsla方法如下:
            见:IsEmptyListedAs
         */
        System.out.println("------包含------");
        boolean resulr = coll.contains("ads");
        System.out.println(resulr);

        //判断集合是否为空
        System.out.println("------是否为空------");
        System.out.println(coll.isEmpty());
    }
}
